File: //var/www/html/spion/app/Http/Controllers/Auth/UserAuthController.php
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class UserAuthController extends Controller
{
public function login(Request $request)
{
// dd($request->all());
$request->validate([
'email' => 'required|email',
'password' => 'required',
]);
$credentials = $request->only('email', 'password');
if (Auth::guard('web')->attempt($credentials)) {
if(!isset($request->next_request) || $request->next_request == ""){
return redirect()->route('user.profile')->with('success', 'Logged in successfully!');
}else{
return redirect()->route($request->next_request)->with('success', 'Logged in successfully!');
}
}
return back()->with('error', 'Invalid email or password.')->withInput();
}
public function register(Request $request)
{
// dd($request->all());
$request->validate([
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'email' => 'required|email|unique:users,email',
'password' => 'required|string|min:6|',
]);
$user = User::create([
'first_name' => $request->input('first_name'),
'last_name' => $request->input('last_name'),
'email' => $request->input('email'),
'password' => Hash::make($request->input('password')),
]);
Auth::login($user);
return redirect()->route('user.profile')->with('success', 'Registration successful! Logged in.');
}
public function updateProfile(Request $request)
{
$user = Auth::user();
$request->validate([
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
]);
$user->update([
'first_name' => $request->input('first_name'),
'last_name' => $request->input('last_name'),
]);
return redirect()->route('user.profile')->with('success', 'Profile updated successfully!');
}
public function checkUser(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required',
]);
$user = User::where('email', $request->email)->first();
if ($user && Hash::check($request->password, $user->password)) {
return response()->json(true);
}
return response()->json(false);
}
}